package io.wdb.modules.generator.generator.service.operation;

import java.util.List;

import io.wdb.common.utils.Query;
import io.wdb.modules.generator.generator.entity.BookgridInfoEntity;
import io.wdb.modules.generator.generator.entity.customer.BookEntityCustomer;
import io.wdb.modules.generator.generator.entity.customer.BookShelfInfoEntityCustomer;
import io.wdb.modules.generator.generator.entity.customer.ProcessInstructionLogCustomer;
import io.wdb.modules.generator.generator.entity.statistics.LampStrategyRes;
import io.wdb.modules.generator.generator.entity.web.BookGridsStatus;
import io.wdb.modules.generator.generator.entity.web.BookShelfLoRes;
import io.wdb.modules.generator.generator.entity.web.BookShelfOperation;
import io.wdb.modules.generator.generator.entity.web.DaysQueryRequest;
import io.wdb.modules.generator.generator.entity.web.OperationResponse;
import io.wdb.modules.generator.generator.entity.web.WebResponse;

public interface BookShelfOperationService {
	public List<BookShelfInfoEntityCustomer> list(Query query);

	public int queryTotal(Query query);

	public void updateBookGridStatus(BookGridsStatus bookGridsStatus);

	public List<BookgridInfoEntity> getBookGridsByShelfCode(String code);
	
	public WebResponse openCloseBookGrid(BookGridsStatus bookGridsStatus);

	public BookShelfInfoEntityCustomer getBookShelfInfo(String code);

	public List<BookEntityCustomer> getBookGridInfo(Query query);
	
	public WebResponse unlock(String bookGridId);

	public WebResponse checkBookGridOne(String bookgridCode);

	public WebResponse restart(String bookshelfCode);

	public WebResponse checkBookGridAll(String bookshelfCode);

	public List<OperationResponse> bookShelfCurrentCondition(DaysQueryRequest daysQueryRequest);

	public WebResponse lampStrategy(BookShelfOperation bookShelfOperation);

	public LampStrategyRes lampStrategyCurrent(BookShelfOperation bookShelfOperation);

	public List<BookShelfLoRes> bookShelfLogs(BookShelfOperation bookShelfOperation);
}
